Storage systems use file systems for organizing files stored on disks or flash drives in the storage system. Some file systems have an associated inode table, which serves as an index to inodes, which in turn store block locations on the disks where the files of the file system are stored, as well as metadata associated with those files. A directory is a table providing a mapping between a filename for a file and the location of the inode of the file; the directory may also contain subdirectories. This mapping is encapsulated in a directory entry for the file, which stores both the filename of the file and an inode number. The inode number uniquely identifies the file and provides the location of the content of the file on disk. When a client requests access to the file in a directory, the file system looks up a directory entry for the file and obtains the inode number.
Occasionally, files stored on the disks become corrupted. One cause of corruption is that metadata associated with the files is either erased or has failed to update along with changes in the content of the files. Consequences of corruption include an inability to access the affected files. File systems such as Network File System (NFS) allow a storage controller to detect such corruptions and repair them.
A common tool for such repairs is a utility known as File System Check (FSCK), which searches through the inodes in a file system and performs consistency checks on metadata in those inodes.